package com.ym.medical.service.impl;

import com.ym.core.utils.tkmybatis.BaseSVImpl;
import com.ym.medical.dao.NormalTradeBillDao;
import com.ym.medical.domain.entity.NormalTradeBillEntity;
import com.ym.medical.domain.param.NormalTradeBillQueryParam;
import com.ym.medical.domain.param.NormalTradeBillUpdateParam;
import com.ym.medical.domain.vo.NormalTradeBillListPcVO;
import com.ym.medical.service.INormalTradeBillSV;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
                                                                                                                                    
/**
* 第三方和平台均存在或异常处理后的账单Service业务层处理
*
* @author ym
* @date 2020-09-25
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class NormalTradeBillSVImpl extends BaseSVImpl<NormalTradeBillEntity,NormalTradeBillDao> implements INormalTradeBillSV {

	/**
	 * 查询第三方和平台均存在或异常处理后的账单列表
	 *
	 * @param queryParam 第三方和平台均存在或异常处理后的账单 查询参数
	 * @return 第三方和平台均存在或异常处理后的账单
	 */
	@Override
	public List<NormalTradeBillListPcVO> selectListPC(NormalTradeBillQueryParam queryParam) {
		List<NormalTradeBillListPcVO> normalTradeBills = mapper.selectListPC(queryParam);
		return normalTradeBills;
	}

	/**
	 * 新增第三方和平台均存在或异常处理后的账单
	 *
	 * @param updateParam 第三方和平台均存在或异常处理后的账单 新增参数
	 * @return 结果
	 */
	@Override
	public Long insertPC(NormalTradeBillUpdateParam updateParam) {
            NormalTradeBillEntity entity = updateParam.covert();
		this.insert(entity);
		return entity.getId();
	}

	/**
	 * 修改第三方和平台均存在或异常处理后的账单
	 *
	 * @param updateParam 第三方和平台均存在或异常处理后的账单 修改参数
	 * @return 结果
	 */
	@Override
	public int updateByIdPC(NormalTradeBillUpdateParam updateParam) {
            NormalTradeBillEntity entity = updateParam.covert("createTime");
		int result = this.updateById(entity);
		return result;
	}
}
